security - Websockets、socket.io、nodejs 和安全性
全部标签 我正在尝试为以下情况找到解决方案:我有一个由HTML、javascript、AJAX和广告等组成的网络应用程序。我希望用户为我的应用程序/网站做出贡献,创建将嵌入其中的插件。此插件将使用类似技术(ajax、HTML等)创建,因此我需要允许插件运行它们自己的javascript代码。每个插件都将在包含一些用户信息和插件的页面中运行(如旧的fbmlfacebook应用程序)问题在于,通过这种方式,插件还可以调用以获取用户信息。(因为插件的代码是嵌入的,所以它的域将与主网站相同,并且代码将完全在我的网站上)。所以问题是:我怎样才能避免它并精确控制插件可以获取有关用户的哪些信息?插件不会被检查
tl;dr我可以在iframe上安全地执行不受信任的脚本吗?背景故事:我正在尝试makesecureJSONPrequests.许多旧版浏览器不支持WebWorkers,这意味着我提出的当前解决方案并不是最优的。我想我可以创建一个并在其中加载脚本。该脚本将执行一个JSONP请求(创建一个脚本标签),该请求将向主页发布一条消息。主页会收到消息,执行回调并销毁iframe。我设法dothissortofthing.functionjsonp(url,data,callback){variframe=document.createElement("iframe");iframe.style.
是否有一个模板引擎可以解析ES6templateliterals样式的模板?(例如"string${var}")而不违反脚本评估的内容安全策略(CSP)限制?CSPrestrictionsonscriptevaluation防止eval、newFunction、setTimeout(string)和setInterval(string)。有许多模板引擎可以提供或修改以提供类似于ES6风格的模板文字,例如JohnResig的MicroTemplates,lodash_.template和DoT.js.然而,所有这些似乎都通过使用newFunction违反了CSP。如果var可以是不受限制
我想编写一个JS函数以从浏览器访问存储在hardwaresecuritytoken上的公共(public)数据。插入USB端口。具体来说,在所有用户都有安全token的内部网中,我想要某种登陆页面,它会要求用户输入他/她的安全token凭据(插入USB端口),然后从该token中读取公共(public)信息(我并不是真的需要所有这些信息,但我主要对token中加载的用户名、证书名称及其到期日期感兴趣)和将它们加载到网页中(以显示)。我对此类安全设备几乎没有经验,但我认为这不是一个非常复杂的问题(尽管“谷歌搜索”未能让我找到正确的工作方向)。谢谢。 最佳答案
这就是我在完美世界中会做的事情:fs.open('somepath','r+',function(err,fd){fs.write(fd,'somedata',function(err,written,string){fs.rewind(fd,0)//thisdoesn'texist})})这是我当前的实现:returnasync.waterfall([function(next){//openingafiledescriptortowritesomedatareturnfs.open('somepath','w+',next)},function(fd,next){//writing
我需要一些帮助来理解NodeJ。我显然缺少一些基本的东西。我有一个类似于下面的模块,使用基本的揭示模块模式......varsomeArray=[];varpublicApi={someArray:someArray,someFunction:someFunction};functionsomeFunction(){someArray=['blue','green'];}module.exports=publicApi;当我使用这个模块时,当我调用someFunction时someArray没有改变...varmyModule=require('myModule');myModule.
好吧,标题说明了一切,我正在尝试编写一个利用库request、unzip的脚本(在nodejs/express服务器端应用程序中运行)>和xml2js来执行一个任务,包括从给定的url中获取一个zip文件,其内容是一个xml文件,我需要将其解析为javascript对象以进行进一步处理。到目前为止,我已经想出了:varexpress=require("express");varapp=express();/*someinitcodeomitted*/varrequest=require("request");varunzip=require("unzip");varxml2js=req
设置style-src至'self'通过style禁用内联样式标签或style属性。这按预期工作。添加style通过JS的元素也被阻止。但我真的很惊讶我仍然可以设置HTMLElement的属性的style目的。例如,这不会触发CSP违规:document.getElementById('test').style.backgroundImage='url("image.png")';这如何防止攻击,如描述的那些here或here? 最佳答案 大概是因为如果您已经允许脚本注入(inject),样式修改是您最不担心的事情。样式元素和属性被
我希望能够做到或确保即使处理程序未能阻止默认操作也不会发生任何事情。我应该如何声明允许使用Content-Security-PolicyHTTP响应header而不求助于unsafe-eval? 最佳答案 我最近将CSP策略应用于一个巨大的VUE项目,方法是将元header添加到index.html。GoogleChrome会打印关于javascript:的警告链接,但除此之外没有其他任何事情发生。我所做的只是删除href="javascript:属性,并添加了一个样式来保持游标样式:a:hover{cursor:pointer;}
importReact,{Component}from'react';importPhaserfrom'phaser';exportdefaultclassAppextendsComponent{constructor(props){super(props);this.game=null;this.create=()=>{this.game.stage.backgroundColor='#124184';}}componentDidMount(){this.game=newPhaser.Game(800,600,Phaser.CANVAS,'phaser-target',{create